package examples;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletResponse;

import models.RoleModel;
import admin.data.RoleData;
import debugs.RoleDebug;

public class CreateRole {
	/**
	 * 1: Sale
	 * 2: Bán hàng trực tiếp
	 * 3: Giao nhận
	 * 4: Kho
	 * 5: Điều phối, xuất tuyến
	 * 6: Kế toán
	 * 7: Maketing
	 * 8: CEO
	 * 9: Admin quản trị hệ thống
	 */
	public static void create(HttpServletResponse response) {
		RoleData roleData = new RoleData();
		RoleModel role = new RoleModel();
		
		/*//1: sale
		role = new RoleModel();
		role.setId(1);
		role.setName("Sale");
		role.setPath(getPathPermissionForSale());
		roleData.insert(role);
		RoleDebug.debugWeb(role, response);
		
		//2: Bán hàng trực tiếp
		role = new RoleModel();
		role.setId(2);
		role.setName("Bán hàng trực tiếp");
		role.setPath(getPathPermissionForDirectSale());
		roleData.insert(role);
		RoleDebug.debugWeb(role, response);
		
		//3: Giao nhận
		role = new RoleModel();
		role.setId(3);
		role.setName("Giao nhận");
		role.setPath(getPathPermissionForDelivery());
		roleData.insert(role);
		RoleDebug.debugWeb(role, response);
		
		//4: Kho
		role = new RoleModel();
		role.setId(4);
		role.setName("Kho");
		role.setPath(getPathPermissionForStore());
		roleData.insert(role);
		RoleDebug.debugWeb(role, response);
		
		//5: Điều phối, xuất tuyến
		role = new RoleModel();
		role.setId(5);
		role.setName("Điều phối, xuất tuyến");
		role.setPath(getPathPermissionForCoordinator());
		roleData.insert(role);
		RoleDebug.debugWeb(role, response);
		
		//6: Kế toán
		role = new RoleModel();
		role.setId(6);
		role.setName("Kế toán");
		role.setPath(getPathPermissionForAccounting());
		roleData.insert(role);
		RoleDebug.debugWeb(role, response);
		
		//7: Maketing
		role = new RoleModel();
		role.setId(7);
		role.setName("Maketing");
		role.setPath(getPathPermissionForMarketing());
		roleData.insert(role);
		RoleDebug.debugWeb(role, response);
		
		//8: CEO
		role = new RoleModel();
		role.setId(8);
		role.setName("CEO");
		role.setPath(getPathPermissionForCEO());
		roleData.insert(role);
		RoleDebug.debugWeb(role, response);
		
		//9: Admin quản trị hệ thống
		role = new RoleModel();
		role.setId(9);
		role.setName("Admin quản trị hệ thống");
		role.setPath(getPathPermissionForAdmin());
		roleData.insert(role);
		RoleDebug.debugWeb(role, response);*/
		
	}
	
	/**
	 * 1 - Danh sách quyền truy cập url cho sale
	 * @return
	 */
	private static List<String> getPathPermissionForSale() {
		List<String> path = new ArrayList<String>();
		
		path.add("*");
		/*path.add("/admin/dashboard");
		path.add("/admin/home");*/
		
		return path;
	}
	
	/**
	 * 2 - Danh sách quyền truy cập url cho bán hàng trực tiếp
	 * @return
	 */
	private static List<String> getPathPermissionForDirectSale() {
		List<String> path = new ArrayList<String>();
		
		path.add("*");
		/*path.add("/admin/dashboard");
		path.add("/admin/home");*/
		
		return path;
	}
	
	/**
	 * 3 - Danh sách quyển truy cập url cho giao nhận
	 */
	private static List<String> getPathPermissionForDelivery() {
		List<String> path = new ArrayList<String>();
		
		path.add("*");
		/*path.add("/admin/dashboard");
		path.add("/admin/home");
		path.add("/admin/profile");*/
		
		return path;
	}
	
	/**
	 * 4 - Danh sách quyển truy cập url cho kho
	 */
	private static List<String> getPathPermissionForStore() {
		List<String> path = new ArrayList<String>();
		
		path.add("*");
		
		/*path.add("/admin/dashboard");
		path.add("/admin/profile");
		path.add("/admin/store-item/*");*/
		
		
		return path;
	}
	
	/**
	 * 5 - Danh sách quyển truy cập url cho điều phối, xuất tuyến
	 */
	private static List<String> getPathPermissionForCoordinator() {
		List<String> path = new ArrayList<String>();
		
		path.add("*");
		/*path.add("/admin/dashboard");
		path.add("/admin/profile");
		path.add("/admin/home");*/
		
		return path;
	}
	
	/**
	 *  6 - Danh sách quyển truy cập url cho kế toán
	 */
	private static List<String> getPathPermissionForAccounting() {
		List<String> path = new ArrayList<String>();
		
		//path.add("*");
		path.add("/admin/dashboard");
		path.add("/admin/profile");
		path.add("/admin/delivery-salary");
		path.add("/admin/coordina/accounting");
		
		return path;
	}
	
	/**
	 *  7 - Danh sách quyển truy cập url cho marketing
	 */
	private static List<String> getPathPermissionForMarketing() {
		List<String> path = new ArrayList<String>();
		
		path.add("*");
		/*path.add("/admin/dashboard");
		path.add("/admin/home");*/
		
		return path;
	}
	
	/**
	 *  8 - Danh sách quyển truy cập url cho CEO
	 */
	private static List<String> getPathPermissionForCEO() {
		List<String> path = new ArrayList<String>();
		
		path.add("*");
		/*path.add("/admin/dashboard");
		path.add("/admin/home");*/
		
		return path;
	}
	
	/**
	 *  9 - Danh sách quyển truy cập url cho CEO
	 */
	private static List<String> getPathPermissionForAdmin() {
		List<String> path = new ArrayList<String>();
		
		path.add("*");
		
		return path;
	}
}
